    // StatusWorker.cpp
    #include "StatusWorker.h"
    #include "RobotController.h"
    #include "../global_logger.h"
    #include "SCHeadData.h"
    
    // 修改构造函数，接受 interval 参数
    StatusWorker::StatusWorker(int interval, QObject *parent) 
        : QObject(parent), m_timer(nullptr), m_interval(interval) {
        LOG_DEBUG("StatusWorker 初始化完成，轮询间隔: {}ms", interval);
    }
    
    StatusWorker::~StatusWorker()
    {
        LOG_DEBUG("销毁 StatusWorker");
        stop();
    }
    
    void StatusWorker::start() {
        LOG_INFO("启动状态轮询定时器，间隔: {}ms", m_interval);
        
        // 在工作线程中创建并启动定时器
        m_timer = new QTimer(); // 不设置父对象，避免跨线程问题    
        m_timer->setInterval(m_interval);  // 使用构造函数传入的间隔时间
        connect(m_timer, &QTimer::timeout, this, &StatusWorker::onTimeout);
        m_timer->start();
        
        LOG_DEBUG("状态轮询定时器已启动");
    }
    
    void StatusWorker::stop() {
        if (m_timer) {
            if (m_timer->isActive()) {
                m_timer->stop();
                LOG_DEBUG("状态轮询定时器已停止");
            }
            delete m_timer;
            m_timer = nullptr;
        }
    }
    
    void StatusWorker::onTimeout() {
        LOG_DEBUG("状态轮询定时器超时，发送状态请求");
        //emit requestBattery(CMD_STATE_GET_BATTERY);
        //emit requestPosition(CMD_STATE_GET_POSITION);
        emit requestNavState(CMD_STATE_GET_NAVIGATIONAL_STATE);         //查询机器人导航状态
        emit requestControlAuthority(CMD_STATE_GET_CONTROL_AUTHORITY);  // 获取控制权
        emit requestRobotAlarmStatus(CMD_STATE_GET_ALARM_STATUS);       // 查询机器人报警状态
    }